Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Latest commit

 

History

History
21 lines (15 loc) · 648 Bytes

3.7.7 - Coroutine/Socket->recv.md

File metadata and controls

21 lines (15 loc) · 648 Bytes

Coroutine\Socket->recv

接收数据。

function Coroutine\Socket->recv(int length = 65535, double $timeout = -1) : string | false;

参数

  • $timeout:设置超时时间,默认为-1表示永不超时

recv方法会立即挂起当前协程并监听可读事件,等待对端发送数据后,可读事件触发时,执行recv系统调用获取socket缓存区中的数据,并唤醒该协程。

底层会尽可能地循环读取,直到recv系统调用返回EAGAIN

返回值

  • 接收成功返回实际数据
  • 接收失败返回false,并设置errCode属性
  • 接收超时,错误码为EAGAIN